package test1_3;

public class test1_3 {
    public static void main(String[] args) {
            int count = 0;  // 计数器，用来跟踪当前打印的素数数量
        long startTime=System.currentTimeMillis(); //获取开始时间
            // 从 2 开始遍历到 20000，因为 1 不是素数
            for (int i = 2; i <= 20000 ; i++) {
                if(i%2==0){
                    continue;}//除去偶数
                    if (isPrime(i)) {  // 如果当前数字是素数
                        System.out.printf("%-8d", i);  // 打印素数并格式化输出，每个素数占8个字符宽度
                        count++;  // 计数器增加
                        if (count % 5 == 0) {  // 每打印5个数字后，换行
                            System.out.println();
                        }
                    }
                }
                System.out.println();
        long endTime=System.currentTimeMillis(); //获取结束时间

        System.out.println("程序运行时间： "+(endTime-startTime)+"ms");
        }
        // 判断一个数是否是素数的函数
        public static boolean isPrime(int num) {
            if (num <= 1) {
                return false;  // 1 不是素数
            }
            for (int i = 2; i <= Math.sqrt(num); i++) {  // 只需检查到 sqrt(num)
                if (num % i == 0) {
                    return false;  // 如果能被任何小于 sqrt(num) 的数整除，说明不是素数
                }
            }
            return true;  // 否则是素数
        }
    }


